Reflect recent update to gloas specs#607
Conversation
- Add `execution_requests_root` to `Gloas.ExecutionPayloadBid`. - Add `parent_execution_requests` to `Gloas.BeaconBlockBody`. - Add `Gloas.BlockAccessList` (EIP-7928) and `Gloas.ExecutionPayload` extending Deneb with `block_access_list` and `slot_number` (EIP-7843). - Point `ExecutionPayloadEnvelope.payload` to `Gloas.ExecutionPayload`. - Return `Gloas.SignedExecutionPayloadBid` from the validator bid endpoint to match the beacon endpoint and the consensus wire type. - Register `Gloas.ExecutionPayload` and `Gloas.BlockAccessList` in `beacon-node-oapi.yaml`. - Fix `ExecutionPayloadBid` field widths: `parent_block_hash` and `block_hash` to `Hash32`, `prev_randao` to `Bytes32`. Add `Hash32` to `types/primitive.yaml`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| example: "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2" | ||
| pattern: "^0x[a-fA-F0-9]{64}$" | ||
|
|
||
| Hash32: |
There was a problem hiding this comment.
I am not sure if we want this, or we can just use Byte32. I think it is nice to have a separate Hash32 type for EL related fields in CL.
But I also see block_hash in ExecutionPayloadCommon being Root.
There was a problem hiding this comment.
its differentiated in the spec, so it might make it cleaner to have hash32 defined here too. fair call imo.
There was a problem hiding this comment.
I am fine with adding Hash32 but should make sure it's used consistently across the board, and not just gloas types, a separate PR for this might be better
| example: "gloas" | ||
| data: | ||
| $ref: "../../beacon-node-oapi.yaml#/components/schemas/Gloas.ExecutionPayloadBid" | ||
| $ref: "../../beacon-node-oapi.yaml#/components/schemas/Gloas.SignedExecutionPayloadBid" |
There was a problem hiding this comment.
side note: we should also move this to builder namespace #595
Probably a separate PR for it
| example: "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2" | ||
| pattern: "^0x[a-fA-F0-9]{64}$" | ||
|
|
||
| Hash32: |
There was a problem hiding this comment.
I am fine with adding Hash32 but should make sure it's used consistently across the board, and not just gloas types, a separate PR for this might be better
- Revert validator bid endpoint to return unsigned `ExecutionPayloadBid` (builder signs) - Inline `block_access_list` into `Gloas.ExecutionPayload` instead of separate type - Drop `Gloas.BlockAccessList` schema entry from oapi root - Correct spec ref `v1.7.0-alpha.9` -> `v1.7.0-alpha.8` - Add `RLP` to spellcheck wordlist
| block_access_list: | ||
| type: string | ||
| format: hex | ||
| description: "RLP encoded `BlockAccessList` as defined in [EIP-7928]" |
There was a problem hiding this comment.
is this supposed to have a link to the EIP?
| description: "RLP encoded `BlockAccessList` as defined in [EIP-7928]" | |
| description: "RLP encoded `BlockAccessList` as defined in [EIP-7928](https://eips.ethereum.org/EIPS/eip-7928)" |
nflaig
left a comment
There was a problem hiding this comment.
the PR description needs to be adjusted
| type: object | ||
| description: "The [`BeaconBlockBody`](https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.2/specs/gloas/beacon-chain.md#beaconblockbody) object from the CL Gloas spec." | ||
| required: [randao_reveal, eth1_data, graffiti, proposer_slashings, attester_slashings, attestations, deposits, voluntary_exits, sync_aggregate, bls_to_execution_changes, signed_execution_payload_bid, payload_attestations] | ||
| description: "The [`BeaconBlockBody`](https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.8/specs/gloas/beacon-chain.md#beaconblockbody) object from the CL Gloas spec." |
There was a problem hiding this comment.
I think it would be good if we can bump all spec references to v1.7.0-alpha.8 that currently reference an older alpha.x release
| type: string | ||
| format: hex | ||
| description: "RLP encoded `BlockAccessList` as defined in [EIP-7928]" | ||
| pattern: "^0x[a-fA-F0-9]{0,2147483648}$" |
There was a problem hiding this comment.
might be good to also add an example above pattern
eg. example: "0xe5e494abcf8e0d4e9587369b2301d0790347320302cc09c0c0cac90187b1a2bc2ec50000c0c0"
Reflect the latest consensus-specs
v1.7.0-alpha.8.execution_requests_roottoGloas.ExecutionPayloadBid.parent_execution_requeststoGloas.BeaconBlockBody.Gloas.BlockAccessList(EIP-7928) andGloas.ExecutionPayloadextending Deneb withblock_access_listandslot_number(EIP-7843).ExecutionPayloadEnvelope.payloadtoGloas.ExecutionPayload.Gloas.SignedExecutionPayloadBidfrom the validator bid endpoint to match the beacon endpoint and the consensus wire type.Gloas.ExecutionPayloadandGloas.BlockAccessListinbeacon-node-oapi.yaml.ExecutionPayloadBidfield widths:parent_block_hashandblock_hashtoHash32,prev_randaotoBytes32. AddHash32totypes/primitive.yaml.